package com.cyt.work.association.dao;

import com.cyt.base.dao.BaseDao;
import com.cyt.work.association.model.po.WxAssociationNewDetail;
import com.cyt.work.association.model.vo.WxAssociationNewDetailSignVo;
import com.cyt.work.association.model.vo.WxAssociationNewDetailVo;
import com.cyt.work.association.model.vo.WxAssociationNewDetailVoC;
import com.cyt.wx.model.po.WxEducationUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 招新关联社团表-招新关联社团表Dao层接口类
 *
 * @author han jun
 * @date 2019-9-3 16:42:34
 */
@Repository
public interface WxAssociationNewDetailDao extends BaseDao<WxAssociationNewDetail> {

    /**
     * list查询
     *
     * @param wxAssociationNewDetailVo 参数接受对象
     * @return List<WxAssociationNewDetailVo>
     * @author han jun
     * @date 2019-9-3 16:42:34
     */
    List<WxAssociationNewDetailVo> selectVoList(WxAssociationNewDetailVo wxAssociationNewDetailVo);


    /**
     * list查询
     *
     * @param wxEducationUser 参数接受对象
     * @return List<WxAssociationNewDetailVo>
     * @author han jun
     * @date 2019-9-3 16:42:34
     */
    List<WxAssociationNewDetailVo> selectVoListNew(WxEducationUser wxEducationUser);


    List<WxAssociationNewDetailVo> selectVoYearListNew(WxAssociationNewDetailVo wxAssociationNewDetailVo);

    /**
     * list查询(我的社团)
     *
     * @param wxEducationUser 参数接受对象
     * @return List<WxAssociationNewDetailVo>
     * @author ding xu
     * @date 2019-9-3 16:42:34
     */
    List<WxAssociationNewDetailVo> selectVoListMy(WxEducationUser wxEducationUser);

    /**
     * 单个对象查询
     *
     * @param wxAssociationNewDetailVo 参数接受对象
     * @return List<WxAssociationNewDetailVo>
     * @author han jun
     * @date 2019-9-3 16:42:34
     */
    WxAssociationNewDetailVo selectVoOne(WxAssociationNewDetailVo wxAssociationNewDetailVo);

    /**
     * 查询报名判断依据
     *
     * @param wxAssociationNewDetailSignVo 参数接受对象
     * @return List<WxAssociationNewDetailVo>
     * @author han jun
     * @date 2019-9-3 16:42:34
     */
    WxAssociationNewDetailSignVo selectVoOneSign(WxAssociationNewDetailSignVo wxAssociationNewDetailSignVo);

    List<WxAssociationNewDetailVoC> findDetailVoList(WxAssociationNewDetailVo wxAssociationNewDetailVo);

    List<WxAssociationNewDetailVoC> selectDetailList(@Param("eductionUserId") String eductionUserId);

    List<WxAssociationNewDetailVoC> selectDetailListByTeacher(@Param("userNumber") String userNumber);
}